package com.lightningtrade.service;

import com.lightningtrade.domain.SysProduct;
import com.lightningtrade.util.AjaxResult;

import java.util.List;

/**
 * 商品管理服务接口
 */
public interface SysProductService {

    /**
     * 添加商品
     * @param sysProduct 商品信息
     * @return 操作结果，成功返回1，失败返回0
     */
    int addProduct(SysProduct sysProduct);

    /**
     * 更新商品信息
     * @param sysProduct 商品信息
     * @return 操作结果，成功返回1，失败返回0
     */
    int updateProduct(SysProduct sysProduct);

    /**
     * 删除商品
     * @param id 商品ID
     * @return 操作结果，成功返回1，失败返回0
     */
    int deleteProduct(Integer id);

    /**
     * 根据商品ID查询商品
     * @param id 商品ID
     * @return 商品对象
     */
    SysProduct getProductById(Integer id);

    /**
     * 查询所有商品
     * @return 商品列表
     */
    List<SysProduct> getAllProducts();

    /**
     * 更新商品状态（上下架）
     * @param id 商品ID
     * @param status 商品状态 (1=上架, 0=下架)
     * @return 操作结果，成功返回1，失败返回0
     */
    int updateProductStatus(Integer id, Integer status);

    /**
     * 根据商品名称查询商品
     * @param productName 商品名称
     * @return 商品对象
     */
    AjaxResult getProductByName(String productName);
}
